package redlib.backend.service.utils;

import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;
import redlib.backend.dto.ContactDTO;
import redlib.backend.model.Contact;
import redlib.backend.utils.FormatUtils;
import redlib.backend.vo.ContactVO;

import java.util.Map;

//校验数据信息，是否为空
public class ContactUtils {
    public static void validateContact(ContactDTO contactDTO) {
        FormatUtils.trimFieldToNull(contactDTO);
        Assert.notNull(contactDTO, "联系人输入数据不能为空");
        Assert.hasText(contactDTO.getContact(), "联系人不能为空");
        Assert.hasText(contactDTO.getDepartmentName(), "部门单位不能为空");
        Assert.hasText(contactDTO.getContactPhone(), "手机号不能为空");
        Assert.hasText(contactDTO.getProvince(), "所在省份不能为空");
        Assert.hasText(contactDTO.getAddress(), "家庭住址不能为空");
        Assert.hasText(contactDTO.getEmail(), "邮箱不能为空");
    }

    public static ContactVO convertToVO(Contact contact, Map<Integer, String> nameMap) {
        ContactVO contactVO = new ContactVO();
        BeanUtils.copyProperties(contact, contactVO);

        contactVO.setCreatedByDesc(nameMap.get(contact.getCreatedBy()));
        return contactVO;
    }
}
